﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sistema.Dominio;
using Sistema.Util.Interfaces;
using Sistema.IDAO;

namespace Sistema.Kernel
{
    public class Empresa:ICadastro<EmpresaInfo>
    {
        public IEmpresaInfoDAO _repository;

        public Empresa()
        {
            this._repository = DAOFactoryIoC.ObterDaoFactory().GetReference<IEmpresaInfoDAO>();
        }

        public void Cadastrar(EmpresaInfo dados)
        {
            this._repository.Salvar(dados);
        }

        public void Alterar(EmpresaInfo dados)
        {
            this._repository.Alterar(dados);
        }

        public void Excluir(EmpresaInfo dados)
        {
            this._repository.Excluir(dados);
        }

        public EmpresaInfo Buscar(int Id)
        {
            return this._repository.Buscar(Id);
        }

        public IList<EmpresaInfo> PesquisarEmpresa(enumTipoPesquisaEmpresa tipoPesquisa, String DadosEmpresa)
        {
            return this.Listar();

        }

        public IList<EmpresaInfo> Listar()
        {
            return this._repository.Listar();
        }

        public bool VerificaSejaCadastrado(EmpresaInfo dadosVerificacao)
        {
            throw new NotImplementedException();
        }
    }

    public enum enumTipoPesquisaEmpresa
    {
        Razao_Social,
        Fantasia,
        CNPJ
    }
}